package service;

import java.rmi.Remote;

import dto.Account;
import dto.ConversationSession;
import dto.Message;
import dto.Status;

public interface ChatServerService extends Remote {
	
	// islam
	void signUp(Account a);
	
	// islam
	void signIn(Account a);
	
	// islam
	void setStatus(Status status);
	
	// wael
	void sendMessage(Account sender, Message message, ConversationSession cs);
	
	// wael + islam
	ConversationSession createSession(Account... a);
	
	// wael
	void addtoSession(ConversationSession cs, Account... a);
	
	// basma
	void sendMail(Account sender, Message message);
	
	// wael
	// void sendFile(Account a, ???);
	
	// basma
	void addContact(Account myAccount, Account toBeAdded);
	
	// islam
	void getContactList(Account myAccount);
	
	// basma
	void removeContact(Account myAccount, Account tobeRomoved);
	
	
	// basma
	void logout(Account account);
}
